import 'package:flutter/material.dart';


// 行标题
class BarcodeForm extends StatelessWidget{

    final String text;

    BarcodeForm({
        Key key,
        this.text,
    }) : super(key: key);  

    @override
    Widget build(BuildContext context) {
        return Padding(
          padding: const EdgeInsets.fromLTRB(8,8,8,8),
          child:Text("1"),
        );
    }  
}








// import 'package:barcode_scan/barcode_scan.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter/services.dart';

// class BarcodeForm extends StatefulWidget {
//   final dynamic controller; //表单名称
//   final String label; //lable
//   final bool validator; //校验
//   final String validatorText; //校验提示
//   final bool readOnly; //只读
//   final int maxLines; //多行文本

//   BarcodeForm({
//     Key key,
//     this.controller,
//     this.label,
//     this.validator = false,
//     this.validatorText = "必填",
//     this.readOnly = false,
//     this.maxLines = 1,
//   }) : super(key: key);

//   @override
//   State<StatefulWidget> createState() => _BarcodeForm(this);
// }

// class _BarcodeForm extends State<BarcodeForm> {
//   final BarcodeForm _barcodeText;
//   ScanResult scanResult;

//   _BarcodeForm(this._barcodeText);

//   void initState() {
//     super.initState();
//   }

//   @override
//   void dispose() {
//     super.dispose();
//   }


//   static final _possibleFormats = BarcodeFormat.values.toList()
//     ..removeWhere((e) => e == BarcodeFormat.unknown);

//   List<BarcodeFormat> selectedFormats = [..._possibleFormats];

//   @override
//   Widget build(BuildContext context) {

//     return Padding(
//         padding: EdgeInsets.fromLTRB(16, 32, 16, 0),
//         child: Container(
//             child: Stack(children: <Widget>[
//               new Row(
//                 children: <Widget>[
//                   new Expanded(
//                       flex: 9,
//                       child: Stack(children: <Widget>[
//                         Container(
//                           padding: EdgeInsets.fromLTRB(0, 0, 0, 16),
//                           child: Row(
//                             children: <Widget>[
//                               Text(widget.validator ? '*' : '',
//                                   textAlign: TextAlign.left,
//                                   overflow: TextOverflow.ellipsis,
//                                   style: TextStyle(
//                                       fontSize: 14, color: Colors.red)),
//                               Text(
//                                 widget.label.toString(),
//                                 overflow: TextOverflow.ellipsis,
//                                 style: TextStyle(
//                                     fontSize: 14,
//                                     color: const Color.fromRGBO(
//                                         81, 90, 110, 1)),
//                               )
//                             ],
//                           ),
//                         ),
//                         Container(
//                             margin: (widget.maxLines > 1)
//                                 ? EdgeInsets.fromLTRB(0, 20, 0, 0)
//                                 : EdgeInsets.fromLTRB(0, 2, 0, 0),
//                             child: TextFormField(
//                               focusNode: FocusNode(),
//                               autofocus: false,
//                               // maxLength: 500,
//                               maxLines: widget.maxLines,
//                               controller: widget.controller,
//                               readOnly: widget.readOnly,

//                               decoration: InputDecoration(
//                                 contentPadding: (widget.maxLines > 1)
//                                     ? const EdgeInsets.only(bottom: 0)
//                                     : const EdgeInsets.only(bottom: -16),
//                                 //contentMargin:EdgeInsets.only(bottom: 0),
//                                 labelStyle: TextStyle(
//                                     fontSize: 14.0,
//                                     color: Color.fromARGB(255, 93, 93, 93)),
//                                 enabledBorder: UnderlineInputBorder(
//                                   borderSide:
//                                   BorderSide(
//                                       width: 0.5, color: Colors.grey[500]),
//                                 ),
//                                 focusedBorder: UnderlineInputBorder(
//                                   borderSide:
//                                   BorderSide(width: 0.5, color: Colors.blue),
//                                 ),
//                                 errorBorder: UnderlineInputBorder(
//                                   borderSide:
//                                   BorderSide(width: 0.5, color: Colors.red),
//                                 ),
//                               ),
//                               validator: widget.validator
//                                   ? (value) {
//                                 if (value.isEmpty) {
//                                   return widget.validatorText;
//                                 }
//                                 return null;
//                               }
//                                   : null,
//                             ))
//                       ])),
//                   new Expanded(
//                     flex: 1,
//                     child: Opacity(
//                       opacity: 0.3,
//                       child: new IconButton(
//                         icon: Icon(Icons.camera),
//                         onPressed: scan,
//                       ),
//                     ),
//                   )
//                 ],
//               )

//             ])));
//   }

// /*  Future scan() async {
//     try {
//       String barcode = await scanner.scan();

//       setState(() {
//         _barcodeText.controller.text = barcode;
//       });
//     } on Exception catch (e) {
//       setState(() {
//         _barcodeText.controller.text = "";
//       });
//     }
//   }*/

//   Future scan() async {
//     try {
//       var options = ScanOptions(
//         strings: {
//           "cancel": "取消", //iOS上的"取消"按钮文字
//           "flash_on": "闪光灯-开",
//           "flash_off": "闪光灯-关",
//         },
//         restrictFormat: selectedFormats,
//         useCamera: -1,
//         autoEnableFlash: false,
//         android: AndroidOptions(
//           aspectTolerance: 0.00,
//           useAutoFocus: true,
//         ),
//       );

//       scanResult = await BarcodeScanner.scan(options: options);
//       setState(() => _barcodeText.controller.text = scanResult.rawContent);
//     } on PlatformException catch (e) {
//       var result = ScanResult(
//         type: ResultType.Error,
//         format: BarcodeFormat.unknown,
//       );

//       if (e.code == BarcodeScanner.cameraAccessDenied) {
//         setState(() {
//           result.rawContent = 'The user did not grant the camera permission!';
//         });
//       } else {
//         result.rawContent = 'Unknown error: $e';
//       }
//       setState(() => _barcodeText.controller.text = scanResult.rawContent);
//     }
//   }
// }
